Học máy (Machine Learning)
Tổng quan
Vinh, 08/2021
By Hoàng Hữu Việt
Email: viethh@vinhuni.edu.vn
Viện Kỹ thuật và Công nghệ, Đại học Vinh
Tài liệu tham khảo
Tài liệu chính
[1] Richard O.Duda, Peter E. Hart, David G.Stock. Pattern Classification, 2nd, Wiley,
2001.
[2]. Milos Hauskrecht. Machine Learning, 2010.
https://people.cs.pitt.edu/milos/courses/cs2750-Spring2010/
Nội dung
Tổng quan
dụ về hệ thống nhận dạng mẫu
Chu trình thiết kế hệ thống học máy
Phân loại bài toán học máy
Định nghĩa
Nhận dạng mẫu (pattern recognition) một phần của học máy
(machine learning).
Nhận dạng mẫu: “Pattern recognition is the categorization of input data
into identifiable classes via the extraction of significant features or
attributes of the data from a background of irrelevant detail. J. T. Tou
and R. Gonzales.
Học máy (machine learning): The field of machine learning studies the
design of computer programs (agents) capable of learning from past
experience or adapting to changes in the environment.
Định nghĩa
Artificial intelligence, machine learning,
and deep learning
Machine learning: a new programming
paradigm
Character Recognition
Fingerprint Recoginition
Face Recognition
Một số ứng dụng
Ví dụ về một hệ thống học máy
Prediction
Training
Labels
Training Images
Training
Training
Image
Features
Image
Features
Testing
Test Image
Learned
model
Pre
Processing
Pre
Processing
Nhận dạng mẫu
Ví dụ về hệ thống nhận dạng mẫu
Phân loại “Cá vược/ hồi (Sea bass/ Salmon)
Camera chụp hình ảnh
Tiền xử
Trích chọn đặc trưng
Chiều dài (length)
Bề rộng (width)
Độ sáng (lightness)
Hình dạng vây (fins)
Vị trí miệng
Mục tiêu phân lớp
vược ?
hồi ?
Ví dụ về hệ thống nhận dạng mẫu
Chọn chiều dài làm đặc trưng cho bộ phân lớp
Ví dụ về hệ thống nhận dạng mẫu
Chọn độ sáng làm đặc trưng cho bộ phân lớp
Ví dụ về hệ thống nhận dạng mẫu
Kết hợp độ sáng bề rộng làm đặc trưng (feature) cho bộ phân lớp:
x = [x
1
,x
2
]
T
, x
1
: độ sáng, x
2
: bề rộng.
Ví dụ về hệ thống nhận dạng mẫu
thể bổ sung thêm các đặc trưng khác không liên quan tới các đặc
trưng đang đã .
Đường biên tưởng đường phân biệt được các đối tượng.
Ví dụ về hệ thống nhận dạng mẫu
Khi số lượng mẫu lớn, khó tìm được đường biên tưởng (tính toán
nhiều).
Khi số lượng mẫu lớn, các hình phân lớp đơn giản thường hiệu
quả tốt.
Các hệ thống học máy
Sensing
Camera, microphone,…
Hệ thống nhận dạng phụ thuộc vào chất
lượng các bộ cảm biến.
Segmentation
Phân chia các vùng đối tượng.
Feature extraction
Trích chọn các đặc trưng của đối tượng
input
sensing
segmentation
feature extraction
classification
post-processing
decision
costs
adjustments for
context
adjustments for
missing features
Các hệ thống học máy
Classification
Sử dụng một vector đặc trưng để
nhận dạng một đối tượng.
Post-processing
Sử dụng thêm thông tin ngữ cảnh để
cải tiến chất lượng hệ thống nhận
dạng.
input
sensing
segmentation
feature extraction
classification
post-processing
decision
costs
adjustments for
context
adjustments for
missing features
Chu trình thiết kế hệ thống
start
collect data
choose features
choose model
train classifier
evaluate classifier
end
prior knowledge
(e.g., invariances)
Chu trình thiết kế hệ thống
Thu thập dữ liệu (data collection)
Thu thập dữ liệu để huấn luyện (training) kiểm tra (test) hệ thống.
Dữ liệu cần làm “sạch tiền xử lý.
Làm “sạch”: giảm nhiễu, loại bỏ các thừa
Tiền xử : đổi tên ( dụ hight 2, normal 1, low 0), chuẩn hóa ( dụ chuẩn
hóa giá trị về [0,1]), rời rạc hóa ( dụ rời rạc (lấy mẫu) các giá trị liên tục), trừu tượng
hóa ( dụ trộn các giá trị với nhau.
Chọn đặc trưng (choose feature)
Kích thước các mẫu dữ liệu thường rất lớn
Giảm kích thước các mẫu trích chọn đặc trưng các mẫu.
Trích chọn đặc trưng phụ thuộc vào bài toán.
Chu trình thiết kế hệ thống
Chọn hình (choose model)
Sử dụng các kiến thức về các mẫu, phân tích sự tương quan để dự đoán hình
phụ hợp với bài toán.
Huấn luyện bộ phân lớp (training classifier)
Huấn luyện: quá trình học (learning) dựa trên bộ dữ liệu huấn luyện để xác định
bộ phân lớp.
Học: giải bài toán tối ưu
Đánh giá bộ phân lớp (evaluate classifier)
Đánh giá tỷ lệ lỗi của hệ thống nhận dạng.
Chu trình thiết kế hệ thống
Đánh giá hình phương pháp đơn giản
Chia tập dữ liệu (dataset) thành 2 tập tập huấn luyện (training set) tập kiểm
tra (testing set).
dụ lấy 2/3 tập mẫu dung tập huấn luyện 1/3 tập mẫu dung tập kiểm tra.
Chu trình thiết kế hệ thống
Đánh giá hình các phương pháp phức tạp hơn
Random subsampling: lặp lại phương pháp đơn giản
k
lần.
Chu trình thiết kế hệ thống
Đánh giá hình các phương pháp phức tạp hơn
Cross-validation: chia dữ liệu thành
k
nhóm tương đương, kiểm tra trên
nhóm thứ i huấn luyện tên tập còn lại.
Độ đo đánh giá mô hình học máy
Độ đo đánh giá một hình phân 2 lớp dữ liệu
hiệu 2 lớp dữ liệu lớp nhãn dương (+) lớp nhãn âm (-), ma trận nhầm lẫn:
 󰇛 󰇜 󰇛 󰇜
 󰇛 󰇜  󰇛 󰇜
: Số mẫu nhãn dương được phân lớp đúng.
: Số mẫu nhãn dương bị phân lớp sai.
: Số mẫu nhãn âm bị phân lớp sai.
: Số mẫu nhãn âm được phân lớp đúng.
dụ phân lớp 100 mẫu dữ liệu gồm 10 mẫu lớp (+) 90 mẫu lớp (-):
Trong 10 mẫu lớp (+), 8 mẫu phân lớp đúng, 2 mẫu phân lớp sai.
Trong 90 mẫu lớp (-), 78 mẫu phân lớp đúng 12 mẫu phân lớp sai.
Ta có:        .
Độ đo đánh giá mô hình học máy
Tỷ lệ phân lớp chính xác của hình:

 
   
dụ với hình phân lớp đã xét, ta :


 



Tỷ lệ phân lớp không đủ để đánh giá một hình học máy.
dụ nếu        , ta  , nhưng
phân lớp sai toàn bộ mẫu lớp nhãn dương.
Bài toán phân lớp dữ liệu mất cân bằng bài toán thường xuyên cần giải quyết.
Độ đo đánh giá mô hình học máy
Một số độ đo khác:



 󰉜 nhãn 󰉼󰉴 phân 󰉵  trong các 󰉜 nhãn 󰉼󰉴.
 



𝑆𝑒𝑛𝑠𝑖𝑡𝑖𝑣𝑖𝑡𝑦: % mẫu nhãn dương phân lớp đúng trong các mẫu được phân lớp
mẫu nhãn dương.
 

 
 % mẫu nhãn âm phân lớp đúng trong các mẫu được phân lớp
mẫu nhãn âm.
Độ đo đánh giá mô hình học máy
Một số độ đo khác:
 
 
 
một hệ số điều chỉnh mối quan hệ giữa Precision Sensitivity (SE).
  
 % của cả mẫu lớp dương mẫu lớp âm phân lớp đúng.
dụ        , khi đó ta :
    
    
Tham khảo thêm một số độ đo khác: ROC, AUC.
Phân lớp bài toán học máy
Phân lớp bài toán học máy
Học giám sát (supervised learning)
Tên gọi khác: học hướng dẫn
Học không giám sát (unsupervised learning)
Tên gọi khác: học không hướng dẫn
Học tăng cường (reinforcement learning)
Học giám sát
Dữ liệu (data): 󰇝

󰇞 một tập
n
mẫu (examples).
Mỗi mẫu
󰇛
󰇜  trong đó
x
i
một vector vào
y
i
đầu ra
mong muốn (được đưa bởi người giám sát - teacher).
Mục tiêu: học một hàm sao cho
󰇛󰇜,   .
Hai loại bài toán:
Regression (bài toán hồi quy):
X
rời rạc hoặc liên tục
Y
liên tục.
Classification (bài toán phân lớp):
X
rời rạc hoặc liên tục
Y
rời rạc.
(x
1
, x
2,
..., x
n
)
(y
1
, y
2,
..., y
n
)
Học giám sát
dụ bài toán hồi quy (regression):
Tập dữ liệu 󰇝
󰇞
󰇛
󰇜
󰇟󰇠

󰇛
󰇜
󰇟󰇠

Hàm
f
󰇟󰇠
󰇟󰇠
Học giám sát
dụ bài toán phân lớp (classification)
Tập dữ liệu
D = {?}
Hàm
f: X Y ? (Y = (N/P}
Học không giám sát
Dữ liệu (data):
D = {d
1
,d
2
,··· ,d
n
}
một tập
n
mẫu (samples).
Mỗi mẫu
d
i
= (x
i
), i = 1, 2,··· ,n,
với
x
i
một vector vào, không giá trị
đầu ra mong muốn (không biết
y
i
, i
= 1
,
2
,
···
,n
).
Mục tiêu: học mối quan hệ giữ các mẫu.
Hai loại bài toán:
Clustering: nhóm các mẫu tính chất tương tự với nhau.
Density estimation: Tìm mật độ xác suất phân bố của các mẫu.
Học không giám sát
dụ bài toán phân lớp đánh giá hàm mật độ (density estimation):
Tìm hình xác suất phân bố của các mẫu:
Học không giám sát
dụ bài toán phân lớp đánh giá hàm mật độ (density estimation):
Một hình thể là:
Học tăng cường
Tác tử (agent) học thông qua tương tác với môi trường: quan sát, thực
hiện hành động nhận được điểm thưởng hoặc điểm phạt.
Tác nhân học để nhận được điểm thưởng nhiều nhất.
Học tăng cường
Bài toán robot tìm đường đi trong một môi trường không biết trước
(xem demo).
Bài toán xe leo dốc, bài toán cân bằng (xem demo).